鸿蒙设备开发Hi3861

您所在的位置:网站首页 hi3861 数据手册 鸿蒙设备开发Hi3861

鸿蒙设备开发Hi3861

#鸿蒙设备开发Hi3861| 来源: 网络整理| 查看: 265

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

1. 项目来源

有一天半夜宿舍门被一个喝晕的哥们打开了,(说他晕吧他居然知道钥匙在门框上)于是有了设计自动门锁的想法。正好一直想用Hi3861做一个iot落地项目【之前挖的坑】,一切刚好!

2. 需求分析

无钥匙进入

手机端操作

不影响使用钥匙开门

无损安装、卸载自动开门机构

3. 宿舍门锁考察

水平向右移动拉闩1cm左右即可开门,由于宿舍们老旧,拉力实测在2.5L水左右。经过粗略计算,如果使用9g舵机来驱动,单杠驱动结构的话,杠杆长度比为2500/9≈278,尺寸有些夸张。不想在机械结构上费时间,所以选取大扭矩舵机驱动。 #星光计划2.0# 鸿蒙设备开发Hi3861-IoT落地-自动门锁(附多案例-鸿蒙HarmonyOS技术社区

4.方案设计 4.1 机械结构

典型的曲柄滑块结构。选取了绳索拉动、连杆方案。综合考虑耐用度和安装便携性,选取绳索驱动方案。

使用套壳的方式安装在门锁体上,拉闩自由移动,不影响手动开门。

 #星光计划2.0# 鸿蒙设备开发Hi3861-IoT落地-自动门锁(附多案例-鸿蒙HarmonyOS技术社区 4.2 控制逻辑

Hi3861根据web端发送过来的质量控制舵机转动即可。控制信号来源于web端,采用MQTT协议来处理数据,电源使用5V 2A模块,一路单独给舵机。

 #星光计划2.0# 鸿蒙设备开发Hi3861-IoT落地-自动门锁(附多案例-鸿蒙HarmonyOS技术社区 5. 软件层 5.1 MQTT移值

这个直接参考连老师的这篇文章【如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议】即可,感谢连老师!

本项目只需要将:服务器地址改为自己的IP、订阅自己web端的Topic、提取消息数据。

主要代码如下:

/*连接web端  只展示主要逻辑,完整见附件*/ int mqtt_connect(void) {          //0.连接web端     char* payload = "Hello Kun,have a Nice Day!";     int payloadlen = strlen(payload);     int len = 0;     char *host = "192.168.xxx.xx";  //自己的ip     int port = 1883;                //mqtt服务端口     mysock = transport_open(host, port);     /* 1.订阅web端话题  */     topicString.cstring = "porsche";     if (MQTTPacket_read(buf, buflen, transport_getdata) == SUBACK)  /* wait for suback */     {          rc = MQTTDeserialize_suback(&submsgid, 1, &subcount, &granted_qos, buf, buflen);     }     /*2. 循环接收发布者的话题消息 */     topicString.cstring = "hi3861";     char door_passward[] ="notfound404"; //开门密令     char cmd_msg[12]; //存储web端发来的数据     while (!toStop)     {         if (MQTTPacket_read(buf, buflen, transport_getdata) == PUBLISH)         {             MQTTString receivedTopic;             rc = MQTTDeserialize_publish(&dup, &qos, &retained, &msgid, &receivedTopic,                     &payload_in, &payloadlen_in, buf, buflen);             for ( i = 0; i 


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3